﻿
namespace System.Management.HyperV.Model.Msvm
{
    /// <summary>
    /// Represents the virtualization-specific settings for a virtual system.
    /// </summary>
    /// <remarks>http://msdn.microsoft.com/en-us/library/cc136944(VS.85).aspx</remarks>
    public abstract class VirtualSystemSettingData : CIM.VirtualSystemSettingData
    {
        #region Constructor
        internal protected VirtualSystemSettingData(ManagementObject wmiInstance)
            : base(wmiInstance)
        {
        }
        #endregion

        public string BaseBoardSerialNumber
        {
            get { return _dmo.BaseBoardSerialNumber as string; }
        }
        public string BiosGuid
        {
            get { return _dmo.BiosGuid as string; }
        }
        public bool BiosNumLock
        {
            get { return (bool)_dmo.BiosNumLock; }
        }
        public string BiosSerialNumber
        {
            get { return _dmo.BiosSerialNumber as string; }
        }
        public ushort[] BootOrder
        {
            get { return (ushort[])_dmo.BootOrder; }
        }
        public string ChassisAssetTag
        {
            get { return _dmo.ChassisAssetTag as string; }
        }
        public string ChassisSerialNumber
        {
            get { return _dmo.ChassisSerialNumber as string; }
        }
        public string Notes
        {
            get { return _dmo.Notes as string; }
        }
        public ushort[] NumaNodeList
        {
            get { return (ushort[])_dmo.NumaNodeList; }
        }
        public bool NumaNodesAreRequired
        {
            get { return (bool)_dmo.NumaNodesAreRequired; }
        }
        public string Parent
        {
            get { return _dmo.Parent as string; }
        }
    }
}
